<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>libnetconf: NETCONF rpc-reply</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../libnetconf-logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">libnetconf
   &#160;<span id="projectnumber">0.10.0-146_trunk</span>
   </div>
   <div id="projectbrief">NETCONF Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="../../pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="../../modules.html"><span>Modules</span></a></li>
      <li><a href="../../annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="../../files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="../../search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('d0/de2/group__reply.html','../../');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">NETCONF rpc-reply</div>  </div>
</div><!--header-->
<div class="contents">

<p>libnetconf's functions for handling NETCONF &lt;rpc-reply&gt; messages.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga40338a1274759a932a7c2c7b8ed0121d"><td class="memItemLeft" align="right" valign="top">typedef struct nc_msg&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a></td></tr>
<tr class="memdesc:ga40338a1274759a932a7c2c7b8ed0121d"><td class="mdescLeft">&#160;</td><td class="mdescRight">reply message.  <a href="#ga40338a1274759a932a7c2c7b8ed0121d">More...</a><br/></td></tr>
<tr class="separator:ga40338a1274759a932a7c2c7b8ed0121d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gad31ee5df47d5671ebdf1b06f785e6c29"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gad31ee5df47d5671ebdf1b06f785e6c29">NC_REPLY_TYPE</a> { <br/>
&#160;&#160;<a class="el" href="../../d0/de2/group__reply.html#ggad31ee5df47d5671ebdf1b06f785e6c29aa4e871d4592173b6fff7a8d4815c8e29">NC_REPLY_UNKNOWN</a>, 
<a class="el" href="../../d0/de2/group__reply.html#ggad31ee5df47d5671ebdf1b06f785e6c29a6d190ad4c3f0ecbaab7956227e606d27">NC_REPLY_HELLO</a>, 
<a class="el" href="../../d0/de2/group__reply.html#ggad31ee5df47d5671ebdf1b06f785e6c29ac65f86e9af3940dc910231afd07a70cf">NC_REPLY_OK</a>, 
<a class="el" href="../../d0/de2/group__reply.html#ggad31ee5df47d5671ebdf1b06f785e6c29aa47af543410586d8da28f02f099abce0">NC_REPLY_ERROR</a>, 
<br/>
&#160;&#160;<a class="el" href="../../d0/de2/group__reply.html#ggad31ee5df47d5671ebdf1b06f785e6c29acf47a744ed6a6b613d63f4a77aa7135e">NC_REPLY_DATA</a>
<br/>
 }</td></tr>
<tr class="memdesc:gad31ee5df47d5671ebdf1b06f785e6c29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration of &lt;rpc-reply&gt; types.  <a href="../../d0/de2/group__reply.html#gad31ee5df47d5671ebdf1b06f785e6c29">More...</a><br/></td></tr>
<tr class="separator:gad31ee5df47d5671ebdf1b06f785e6c29"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga771a110143440bcd3b7d4c0e98388e80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga771a110143440bcd3b7d4c0e98388e80">nc_callback_error_reply</a> (void(*func)(const char *tag, const char *type, const char *severity, const char *apptag, const char *path, const char *message, const char *attribute, const char *element, const char *ns, const char *sid))</td></tr>
<tr class="memdesc:ga771a110143440bcd3b7d4c0e98388e80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a callback function to process (e.g. print) NETCONF &lt;rpc-error&gt; message items.If the func parameter is NULL, the callback is set back to the default (no) function.  <a href="#ga771a110143440bcd3b7d4c0e98388e80">More...</a><br/></td></tr>
<tr class="separator:ga771a110143440bcd3b7d4c0e98388e80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78b032942cee08721d51ea97acff68b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga78b032942cee08721d51ea97acff68b5">nc_reply_build</a> (const char *reply_dump)</td></tr>
<tr class="memdesc:ga78b032942cee08721d51ea97acff68b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build &lt;rpc-reply&gt; message from the string. This is the reverse function of the <a class="el" href="../../d0/de2/group__reply.html#ga279c8b48bfdf590c15a043b7d385dfb8" title="Dump the rpc-reply message into a string. ">nc_reply_dump()</a>.  <a href="#ga78b032942cee08721d51ea97acff68b5">More...</a><br/></td></tr>
<tr class="separator:ga78b032942cee08721d51ea97acff68b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4543351c89208bb06fa895be334d59ad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga4543351c89208bb06fa895be334d59ad">nc_reply_data</a> (const char *data)</td></tr>
<tr class="memdesc:ga4543351c89208bb06fa895be334d59ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create rpc-reply response with &lt;data&gt; content (in urn:ietf:params:xml:ns:netconf:base:1.0 namespace).  <a href="#ga4543351c89208bb06fa895be334d59ad">More...</a><br/></td></tr>
<tr class="separator:ga4543351c89208bb06fa895be334d59ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c365a22efcaab4f1c29b3f51f254aea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga8c365a22efcaab4f1c29b3f51f254aea">nc_reply_data_ns</a> (const char *data, const char *ns)</td></tr>
<tr class="memdesc:ga8c365a22efcaab4f1c29b3f51f254aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create rpc-reply response with &lt;data&gt; content in the specified namespace.  <a href="#ga8c365a22efcaab4f1c29b3f51f254aea">More...</a><br/></td></tr>
<tr class="separator:ga8c365a22efcaab4f1c29b3f51f254aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga279c8b48bfdf590c15a043b7d385dfb8"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga279c8b48bfdf590c15a043b7d385dfb8">nc_reply_dump</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:ga279c8b48bfdf590c15a043b7d385dfb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump the rpc-reply message into a string.  <a href="#ga279c8b48bfdf590c15a043b7d385dfb8">More...</a><br/></td></tr>
<tr class="separator:ga279c8b48bfdf590c15a043b7d385dfb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeb66eff28fdf195f564cb3d997d65b65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gaeb66eff28fdf195f564cb3d997d65b65">nc_reply_dup</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:gaeb66eff28fdf195f564cb3d997d65b65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Duplicate &lt;reply&gt; message.  <a href="#gaeb66eff28fdf195f564cb3d997d65b65">More...</a><br/></td></tr>
<tr class="separator:gaeb66eff28fdf195f564cb3d997d65b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga12fd89263289491b84398279e0e449fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga12fd89263289491b84398279e0e449fd">nc_reply_error</a> (struct nc_err *error)</td></tr>
<tr class="memdesc:ga12fd89263289491b84398279e0e449fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create rpc-reply response with &lt;rpc-error&gt; content.  <a href="#ga12fd89263289491b84398279e0e449fd">More...</a><br/></td></tr>
<tr class="separator:ga12fd89263289491b84398279e0e449fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb04a6695650d05a07b571ac1410a681"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gafb04a6695650d05a07b571ac1410a681">nc_reply_error_add</a> (<a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply, struct nc_err *error)</td></tr>
<tr class="memdesc:gafb04a6695650d05a07b571ac1410a681"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add another error description into the existing rpc-reply with &lt;rpc-error&gt; content.  <a href="#gafb04a6695650d05a07b571ac1410a681">More...</a><br/></td></tr>
<tr class="separator:gafb04a6695650d05a07b571ac1410a681"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17aa9f38d7b75dec1a57b478b0b39710"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga17aa9f38d7b75dec1a57b478b0b39710">nc_reply_free</a> (<a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:ga17aa9f38d7b75dec1a57b478b0b39710"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free reply message.  <a href="#ga17aa9f38d7b75dec1a57b478b0b39710">More...</a><br/></td></tr>
<tr class="separator:ga17aa9f38d7b75dec1a57b478b0b39710"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac62fb3d427985311cf71a2c3ab8d424"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gaac62fb3d427985311cf71a2c3ab8d424">nc_reply_get_data</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:gaac62fb3d427985311cf71a2c3ab8d424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get content of the &lt;data&gt; element in &lt;rpc-reply&gt;.  <a href="#gaac62fb3d427985311cf71a2c3ab8d424">More...</a><br/></td></tr>
<tr class="separator:gaac62fb3d427985311cf71a2c3ab8d424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a5c880080d3044f1564192cd3780534"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga4a5c880080d3044f1564192cd3780534">nc_reply_get_data_ns</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:ga4a5c880080d3044f1564192cd3780534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get namespace of the &lt;data&gt; element in &lt;rpc-reply&gt;.  <a href="#ga4a5c880080d3044f1564192cd3780534">More...</a><br/></td></tr>
<tr class="separator:ga4a5c880080d3044f1564192cd3780534"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga121d66d8f7437d87a995b82187e7e7ff"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga121d66d8f7437d87a995b82187e7e7ff">nc_reply_get_errormsg</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:ga121d66d8f7437d87a995b82187e7e7ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get error-message from the server's &lt;rpc-error&gt; reply.  <a href="#ga121d66d8f7437d87a995b82187e7e7ff">More...</a><br/></td></tr>
<tr class="separator:ga121d66d8f7437d87a995b82187e7e7ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6ed5b3e0b7d8fbeb81e80bc0a326d6c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gad6ed5b3e0b7d8fbeb81e80bc0a326d6c">nc_reply_get_msgid</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:gad6ed5b3e0b7d8fbeb81e80bc0a326d6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get message-id of the given rpc-reply.  <a href="#gad6ed5b3e0b7d8fbeb81e80bc0a326d6c">More...</a><br/></td></tr>
<tr class="separator:gad6ed5b3e0b7d8fbeb81e80bc0a326d6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab12cdef82337060c425348dada7fe983"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#gad31ee5df47d5671ebdf1b06f785e6c29">NC_REPLY_TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gab12cdef82337060c425348dada7fe983">nc_reply_get_type</a> (const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:gab12cdef82337060c425348dada7fe983"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the rpc-reply message.  <a href="#gab12cdef82337060c425348dada7fe983">More...</a><br/></td></tr>
<tr class="separator:gab12cdef82337060c425348dada7fe983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1f7b7f9be8153758e5b047fe70fd48d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#gab1f7b7f9be8153758e5b047fe70fd48d">nc_reply_merge</a> (int count,...)</td></tr>
<tr class="memdesc:gab1f7b7f9be8153758e5b047fe70fd48d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Merge reply messages. All messages MUST be of the same type.  <a href="#gab1f7b7f9be8153758e5b047fe70fd48d">More...</a><br/></td></tr>
<tr class="separator:gab1f7b7f9be8153758e5b047fe70fd48d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga047f565bb3671ec4016fef5461e8f67e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga047f565bb3671ec4016fef5461e8f67e">nc_reply_ok</a> (void)</td></tr>
<tr class="memdesc:ga047f565bb3671ec4016fef5461e8f67e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create &lt;ok&gt; rpc-reply response.  <a href="#ga047f565bb3671ec4016fef5461e8f67e">More...</a><br/></td></tr>
<tr class="separator:ga047f565bb3671ec4016fef5461e8f67e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b8c8ca9516003938e8f647bd870beaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga1b8c8ca9516003938e8f647bd870beaa">nc_session_recv_reply</a> (struct nc_session *session, int timeout, <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> **reply)</td></tr>
<tr class="memdesc:ga1b8c8ca9516003938e8f647bd870beaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive &lt;rpc-reply&gt; response from the specified NETCONF session. This function is supposed to be performed only by NETCONF clients.  <a href="#ga1b8c8ca9516003938e8f647bd870beaa">More...</a><br/></td></tr>
<tr class="separator:ga1b8c8ca9516003938e8f647bd870beaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b344811af933d80615f0874650938cc"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/de2/group__reply.html#ga0b344811af933d80615f0874650938cc">nc_session_send_reply</a> (struct nc_session *session, const <a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *rpc, const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *reply)</td></tr>
<tr class="memdesc:ga0b344811af933d80615f0874650938cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send &lt;rpc-reply&gt; response via specified NETCONF session. This function is supposed to be performed only by NETCONF servers.  <a href="#ga0b344811af933d80615f0874650938cc">More...</a><br/></td></tr>
<tr class="separator:ga0b344811af933d80615f0874650938cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>libnetconf's functions for handling NETCONF &lt;rpc-reply&gt; messages. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga40338a1274759a932a7c2c7b8ed0121d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct nc_msg <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>reply message. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gad31ee5df47d5671ebdf1b06f785e6c29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d0/de2/group__reply.html#gad31ee5df47d5671ebdf1b06f785e6c29">NC_REPLY_TYPE</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enumeration of &lt;rpc-reply&gt; types. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad31ee5df47d5671ebdf1b06f785e6c29aa4e871d4592173b6fff7a8d4815c8e29"></a>NC_REPLY_UNKNOWN</em>&#160;</td><td class="fielddoc">
<p>value describing that no rpc-reply type was detected so far </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad31ee5df47d5671ebdf1b06f785e6c29a6d190ad4c3f0ecbaab7956227e606d27"></a>NC_REPLY_HELLO</em>&#160;</td><td class="fielddoc">
<p>&lt;hello&gt; message type, same as NC_RPC_HELLO </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad31ee5df47d5671ebdf1b06f785e6c29ac65f86e9af3940dc910231afd07a70cf"></a>NC_REPLY_OK</em>&#160;</td><td class="fielddoc">
<p>&lt;ok&gt; rpc-reply message type </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad31ee5df47d5671ebdf1b06f785e6c29aa47af543410586d8da28f02f099abce0"></a>NC_REPLY_ERROR</em>&#160;</td><td class="fielddoc">
<p>&lt;rpc-error&gt; rpc-reply message type </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad31ee5df47d5671ebdf1b06f785e6c29acf47a744ed6a6b613d63f4a77aa7135e"></a>NC_REPLY_DATA</em>&#160;</td><td class="fielddoc">
<p>rpc-reply message containing &lt;data&gt; </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga771a110143440bcd3b7d4c0e98388e80"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nc_callback_error_reply </td>
          <td>(</td>
          <td class="paramtype">void(*)(const char *tag, const char *type, const char *severity, const char *apptag, const char *path, const char *message, const char *attribute, const char *element, const char *ns, const char *sid)&#160;</td>
          <td class="paramname"><em>func</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a callback function to process (e.g. print) NETCONF &lt;rpc-error&gt; message items.If the func parameter is NULL, the callback is set back to the default (no) function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">func</td><td>Callback function to use. Passed parameters are:<ul>
<li>tag - error tag,</li>
<li>type - error layer where the error occurred,</li>
<li>severity - error severity,</li>
<li>apptag - the data-model-specific or implementation-specific error condition, if one exists,</li>
<li>path - XPATH expression identifying element with the error,</li>
<li>message - human-readable description of the error,</li>
<li>attribute - name of the data-model-specific XML attribute that caused the error,</li>
<li>element - name of the data-model-specific XML element that caused the error,</li>
<li>ns - name of the unexpected XML namespace that caused the error,</li>
<li>sid - session ID of the session holding the requested lock. </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga78b032942cee08721d51ea97acff68b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_build </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>reply_dump</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Build &lt;rpc-reply&gt; message from the string. This is the reverse function of the <a class="el" href="../../d0/de2/group__reply.html#ga279c8b48bfdf590c15a043b7d385dfb8" title="Dump the rpc-reply message into a string. ">nc_reply_dump()</a>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reply_dump</td><td>String containing the NETCONF &lt;rpc-reply&gt; message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Complete reply structure used by libnetconf's functions. </dd></dl>

</div>
</div>
<a class="anchor" id="ga4543351c89208bb06fa895be334d59ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_data </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create rpc-reply response with &lt;data&gt; content (in urn:ietf:params:xml:ns:netconf:base:1.0 namespace). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Serialized XML content of the &lt;data&gt; element for the &lt;rpc-reply&gt; message being created. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Created &lt;rpc-reply&gt; message. </dd></dl>

</div>
</div>
<a class="anchor" id="ga8c365a22efcaab4f1c29b3f51f254aea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_data_ns </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>ns</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create rpc-reply response with &lt;data&gt; content in the specified namespace. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Serialized XML content of the &lt;data&gt; element for the &lt;rpc-reply&gt; message being created. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ns</td><td>Default namespace for the data element. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Created &lt;rpc-reply&gt; message. </dd></dl>

</div>
</div>
<a class="anchor" id="ga279c8b48bfdf590c15a043b7d385dfb8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* nc_reply_dump </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dump the rpc-reply message into a string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reply</td><td>rpc-reply message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>String in XML format containing the NETCONF's &lt;rpc-reply&gt; element and all of its content. Caller is responsible for freeing the returned string with free(). </dd></dl>

</div>
</div>
<a class="anchor" id="gaeb66eff28fdf195f564cb3d997d65b65"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_dup </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Duplicate &lt;reply&gt; message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reply</td><td>&lt;reply&gt; message to replicate. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Copy of the given &lt;reply&gt; message. </dd></dl>

</div>
</div>
<a class="anchor" id="ga12fd89263289491b84398279e0e449fd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_error </td>
          <td>(</td>
          <td class="paramtype">struct nc_err *&#160;</td>
          <td class="paramname"><em>error</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create rpc-reply response with &lt;rpc-error&gt; content. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">error</td><td>NETCONF error description structure for the reply message. From now, the error is connected with the reply and should not be used by the caller. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Created &lt;rpc-reply&gt; message. </dd></dl>

</div>
</div>
<a class="anchor" id="gafb04a6695650d05a07b571ac1410a681"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int nc_reply_error_add </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct nc_err *&#160;</td>
          <td class="paramname"><em>error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add another error description into the existing rpc-reply with &lt;rpc-error&gt; content. </p>
<p>This function can be applied only to reply messages created by <a class="el" href="../../d0/de2/group__reply.html#ga12fd89263289491b84398279e0e449fd" title="Create rpc-reply response with &lt;rpc-error&gt; content. ">nc_reply_error()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in,out]</td><td class="paramname">reply</td><td>Reply structure to which the given error description will be added. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">error</td><td>NETCONF error description structure for the reply message. From now, the error is connected with the reply and should not be used by the caller. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, non-zero else. </dd></dl>

</div>
</div>
<a class="anchor" id="ga17aa9f38d7b75dec1a57b478b0b39710"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nc_reply_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Free reply message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reply</td><td>reply message to free. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaac62fb3d427985311cf71a2c3ab8d424"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* nc_reply_get_data </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get content of the &lt;data&gt; element in &lt;rpc-reply&gt;. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reply</td><td>rpc-reply message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>String with the content of the &lt;data&gt; element. Caller is responsible for freeing the returned string with free(). </dd></dl>

</div>
</div>
<a class="anchor" id="ga4a5c880080d3044f1564192cd3780534"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* nc_reply_get_data_ns </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get namespace of the &lt;data&gt; element in &lt;rpc-reply&gt;. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reply</td><td>rpc-reply message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Namespace of the &lt;data&gt; element. Do not free. </dd></dl>

</div>
</div>
<a class="anchor" id="ga121d66d8f7437d87a995b82187e7e7ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* nc_reply_get_errormsg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get error-message from the server's &lt;rpc-error&gt; reply. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">reply</td><td>rpc-reply message of the <a class="el" href="../../d0/de2/group__reply.html#ggad31ee5df47d5671ebdf1b06f785e6c29aa47af543410586d8da28f02f099abce0">NC_REPLY_ERROR</a> type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>String with the content of the &lt;error-message&gt; element. Referenced string is a part of the reply, so it can not be used after freeing the given reply. </dd></dl>

</div>
</div>
<a class="anchor" id="gad6ed5b3e0b7d8fbeb81e80bc0a326d6c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a> nc_reply_get_msgid </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get message-id of the given rpc-reply. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reply</td><td>rpc-reply message. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>message-id of the given rpc-reply message. </dd></dl>

</div>
</div>
<a class="anchor" id="gab12cdef82337060c425348dada7fe983"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#gad31ee5df47d5671ebdf1b06f785e6c29">NC_REPLY_TYPE</a> nc_reply_get_type </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the type of the rpc-reply message. </p>
<p>&lt;rpc-reply&gt; message can contain &lt;ok&gt;, &lt;rpc-error&gt; or &lt;data&gt;</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">reply</td><td>rpc-reply message </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>One of the <a class="el" href="../../d0/de2/group__reply.html#gad31ee5df47d5671ebdf1b06f785e6c29" title="Enumeration of &lt;rpc-reply&gt; types. ">NC_REPLY_TYPE</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="gab1f7b7f9be8153758e5b047fe70fd48d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_merge </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Merge reply messages. All messages MUST be of the same type. </p>
<p>Function merges a number of &lt;rpc-reply&gt; specified by the count parameter (at least 2) into one &lt;rpc-reply&gt; message which is returned as the result. When the merge is successful, all input messages are freed and MUST NOT be used after this call. Merge can fail only because of an invalid input parameter. In such a case, NULL is returned and input messages are left unchanged.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">count</td><td>Number of messages to merge </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">...</td><td>Messages to merge (all are of nc_reply* type). Total number of messages MUST be equal to count.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to a new reply message with the merged content of the messages to merge. If an error occurs (due to the invalid input parameters), NULL is returned and the messages to merge are not freed. </dd></dl>

</div>
</div>
<a class="anchor" id="ga047f565bb3671ec4016fef5461e8f67e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a>* nc_reply_ok </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create &lt;ok&gt; rpc-reply response. </p>
<dl class="section return"><dt>Returns</dt><dd>Created &lt;rpc-reply&gt; message. </dd></dl>

</div>
</div>
<a class="anchor" id="ga1b8c8ca9516003938e8f647bd870beaa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../d3/d35/group__gen_a_p_i.html#ga298c7a4ad5cc76169a211f86df90f057">NC_MSG_TYPE</a> nc_session_recv_reply </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> **&#160;</td>
          <td class="paramname"><em>reply</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Receive &lt;rpc-reply&gt; response from the specified NETCONF session. This function is supposed to be performed only by NETCONF clients. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session to use. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout in microseconds, -1 for infinite timeout, 0 for non-blocking </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">reply</td><td>Received &lt;rpc-reply&gt; </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a827b3c9c898a48ec8e9f8f9af11f1bdd">NC_MSG_REPLY</a> - success, *reply points to the received &lt;rpc-reply&gt; message.</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a7cd0f4a4edef33489e675b080645288d">NC_MSG_HELLO</a> - success, *reply points to the received &lt;hello&gt; message.</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a1272e268199e52e368957b6a3b288d50">NC_MSG_NONE</a> - success, but &lt;rpc-reply&gt; with error information was processed automatically using callback specified with <a class="el" href="../../d0/de2/group__reply.html#ga771a110143440bcd3b7d4c0e98388e80" title="Set a callback function to process (e.g. print) NETCONF &lt;rpc-error&gt; message items.If the func parameter is NULL, the callback is set back to the default (no) function. ">nc_callback_error_reply()</a> function. *reply was not changed.</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a43e894ea69b22c6080016fe210da4305">NC_MSG_UNKNOWN</a> - error occurred</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057ab4e4b148e14bdf9f320331b0cbe1dc6d">NC_MSG_NOTIFICATION</a> - &lt;notification&gt; message was received and enqueued to the internal queue until the <a class="el" href="../../da/d54/group__notifications.html#gad7ffa424401e8004fb24f9f77f0bb5be" title="Receive a &lt;notification&gt; message from the specified NETCONF session. This function is supposed to be ...">nc_session_recv_notif()</a> function is called. Caller is supposed to repeat the function call to receive another &lt;rpc-reply&gt; message.</li>
<li><a class="el" href="../../d3/d35/group__gen_a_p_i.html#gga298c7a4ad5cc76169a211f86df90f057a5b0ce1ca54b15ef3ca1ef901263c1b72">NC_MSG_WOULDBLOCK</a> - receiving timeouted without any received message. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="ga0b344811af933d80615f0874650938cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="../../db/d52/group__session.html#ga85043314eec3f4f8c53234d9af1f2d41">nc_msgid</a> nc_session_send_reply </td>
          <td>(</td>
          <td class="paramtype">struct nc_session *&#160;</td>
          <td class="paramname"><em>session</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../db/de9/group__rpc.html#gab21d1d39737065c552f2ccc5b4819262">nc_rpc</a> *&#160;</td>
          <td class="paramname"><em>rpc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d0/de2/group__reply.html#ga40338a1274759a932a7c2c7b8ed0121d">nc_reply</a> *&#160;</td>
          <td class="paramname"><em>reply</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Send &lt;rpc-reply&gt; response via specified NETCONF session. This function is supposed to be performed only by NETCONF servers. </p>
<p>This function IS thread safe.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">session</td><td>NETCONF session to use. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">rpc</td><td>&lt;rpc&gt; message which is request for the sending reply </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">reply</td><td>&lt;repc-reply&gt; message to send. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on error,<br/>
 message-id of sent message on success. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Fri Apr 15 2016 09:20:09 for libnetconf by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
